//////////////////
/// mkI - Base ///
//////////////////

#pragma once

// Base includes
#include "../../Base/mkBaseDeclare.h"

namespace mk
{

real32 Sqrt  ( real32 const x ) MK_NOEXCEPT;
real32 Sin   ( real32 const x ) MK_NOEXCEPT;
real32 Cos   ( real32 const x ) MK_NOEXCEPT;
real32 Tan   ( real32 const x ) MK_NOEXCEPT;
real32 ASin  ( real32 const x ) MK_NOEXCEPT;
real32 ACos  ( real32 const x ) MK_NOEXCEPT;
real32 Abs   ( real32 const x ) MK_NOEXCEPT;
real32 Floor ( real32 const x ) MK_NOEXCEPT;
real32 Ceil  ( real32 const x ) MK_NOEXCEPT;
real32 Round ( real32 const x ) MK_NOEXCEPT;
real32 Min   ( real32 const a, real32 const b ) MK_NOEXCEPT;
real32 Max   ( real32 const a, real32 const b ) MK_NOEXCEPT;
real32 Mod   ( real32 const x, real32 const q ) MK_NOEXCEPT;
real32 Lerp  ( real32 const a, real32 const b, real32 const t     ) MK_NOEXCEPT;
real32 Clamp ( real32 const x, real32 const min, real32 const max ) MK_NOEXCEPT;

int    Abs     ( int const x ) MK_NOEXCEPT;
bool   isFinite( real32 const x ) MK_NOEXCEPT;

} // namespace mk

#include "mkMath.inl"

